const Koa = require('koa')
// 路由对象，它的用法和 express中的路由用法是一致
const Router = require('koa-router')

// 实例化后得到koa实例对象
const app = new Koa()
// 绑定端口
app.listen(3000, () => console.log('http://localhost:3000'))
// 利用中间件能力完成静态资源托管
app.use(require('koa-static')('./www'))

// 路由
// 实例化一个路由对象
const router = new Router()

// 定义路由规则 写法和express路由写法一样的  get/post/put/delete
router.get('/home', async ctx => {
  ctx.body = 'home页面'
})

// 动态路由参数，它的获取方案和express中的路由方案是一致的
router.get('/news/:id', async (ctx, next) => {
  console.log('动态参数中的：id值为：', ctx.request.params)
  ctx.body = '<h3>新闻内容页</h3>'
})

// search字符串
router.get('/search', async ctx => {
  // 获取seach字符串，返回为对象
  console.log(ctx.request.query)
  if (ctx.request.query.id == 1) {
    // 重定向
    ctx.redirect('/home')
  } else {
    ctx.body = '<h3>搜索页面</h3>'
  }
})

// 绑定到实例中
app.use(router.routes())


